As services, such as voice, image, and video, impose an ever-increasing requirement on a capacity of an optical transport network, higher order QAM (Quadrature Amplitude Modulation, quadrature amplitude modulation) with high spectral efficiency draws much attention. However, as a modulation order increases, a system transmission distance is becoming shorter due to a limitation of the OSNR (Optical Signal To Noise Ratio, optical signal-to-noise ratio). A TCM (Trellis Coded Modulation, trellis coded modulation) technology is a coding and modulation technology that combines coding and modulation to achieve optimal spectral efficiency and optimal power utilization as a whole, and the TCM technology still retains relatively good OSNR performance under a high spectral efficiency condition.
In the prior art, a structure of a TCM encoder, as shown in FIG. 1, includes a convolutional encoder and a mapper. A TCM encoding process is: if a total of N bits of input information are received by the TCM encoder, input K bits of input information in the N bits of input information into the convolutional encoder for convolutional encoding processing to produce one bit of redundancy and output K+1 bits; and input the K+1 bits obtained through convolutional encoding processing, along with N-K bits that do not undergo convolutional encoding processing, into the mapper to produce an I baseband signal and a Q baseband signal that are used for M-QAM modulation, where M represents the number of constellation points in a constellation diagram during QAM modulation; M constellation points are divided into P subsets before mapping is performed in the mapper, and each subset includes M/P constellation points. K+1 bits of signals output by the foregoing convolutional encoder are used for selecting a subset from the P subsets, and the non-encoded N-K bits are used for selecting one constellation point from the M/P constellation points in the selected subset.
After a signal obtained by TCM encoding reaches a signal receiver through transmission, a TCM decoder performs TCM decoding on the received signal. In the prior art, a TCM decoding process is: calculate Euclidean distances between a signal and all the M constellation points in the constellation diagram, and perform comparison and selection to determine a constellation point closest to a received signal in each subset, so as to acquire branch metrics and pre-output non-encoded bit values; and then, perform Viterbi decoding based on the branch metrics and the pre-output non-encoded bit values to output final decoded information.
In the existing TCM decoding process, Euclidean distances between a received signal and all constellation points in a constellation diagram need to be calculated, and therefore a large number of multipliers and adders are required. As a QAM modulation order increases, complexity of a decoder increases proportionally.